#!/usr/bin/python
# -*- coding: utf-8 -*-

#$ -l h_rt=2:00:00
#$ -j y
#$ -o $HOME/daynews.out
#$ -N daynews

import sys
sys.path.append('/home/artem/pywikipedia')

import calendar
import re

def MonthName0(m):
	if m == 1:
		return 'Январь'
	elif m == 2:
		return 'Февраль'
	elif m == 3:
		return 'Март'
	elif m == 4:
		return 'Апрель'
	elif m == 5:
		return 'Май'
	elif m == 6:
		return 'Июнь'
	elif m == 7:
		return 'Июль'
	elif m == 8:
		return 'Август'
	elif m == 9:
		return 'Сентябрь'
	elif m == 10:
		return 'Октябрь'
	elif m == 11:
		return 'Ноябрь'
	elif m == 12:
		return 'Декабрь'

def MonthName(m):
	if m == 1:
		return 'января'
	elif m == 2:
		return 'февраля'
	elif m == 3:
		return 'марта'
	elif m == 4:
		return 'апреля'
	elif m == 5:
		return 'мая'
	elif m == 6:
		return 'июня'
	elif m == 7:
		return 'июля'
	elif m == 8:
		return 'августа'
	elif m == 9:
		return 'сентября'
	elif m == 10:
		return 'октября'
	elif m == 11:
		return 'ноября'
	elif m == 12:
		return 'декабря'

def LastDay(m):
	if m == 1:
		return 31
	elif m == 2:
		return 29
	elif m == 3:
		return 31
	elif m == 4:
		return 30
	elif m == 5:
		return 31
	elif m == 6:
		return 30
	elif m == 7:
		return 31
	elif m == 8:
		return 31
	elif m == 9:
		return 30
	elif m == 10:
		return 31
	elif m == 11:
		return 30
	elif m == 12:
		return 31

import wikipedia
site = wikipedia.getSite()

import pagegenerators
import catlib

for m in range (2,13):
	for d in range (1,LastDay(m)+1):
#		cat_name = str(d) + " " + MonthName(m) + " "
#		news = ""
#		for y in range (2005, 2013):
#			catpage = catlib.Category(site, (cat_name + str(y)).decode('utf8'))
#			if catpage.exists():
#				for page in catpage.articlesList(recurse=False):
#					news += "* [[" + str(y) + "]] — [[" + page.title().encode('utf8') + "]]\n"
#				flag = 0
#				for cat in catpage.categories():
#					print cat.title().encode('utf8')
#					if cat.title() == u"Категория:" + cat_name.decode('utf8'):
#						flag = 1
#				if flag == 0:
#					catpage.put(catpage.get() + u"\n[[Категория:"  + cat_name.decode('utf8') + u"]]")

		
		page = wikipedia.Page(site, u'Викиновости:' + str(d) + u' ' + MonthName(m).decode('utf8'))
		#page = wikipedia.Page(site, str(d) + u' ' + MonthName(m).decode('utf8'))
		content = page.get()
		
		page_text = u"<noinclude>'''Новости "  + str(d) + " " + MonthName(m).decode('utf8') + "'''\n</noinclude>\n"
		for news in re.findall(u"\*.+", content):
			page_text += news + "\n"
		page_text += u"<noinclude>----\n{{Навигация\n|Тема = {{PAGENAME}}\n|Википедия = {{PAGENAME}}\n|Викисклад = Category:" + calendar.month_name[m] + ' ' + str(d) + u"\n}}\n{{Навигация по дням}}\n\n[[Категория:"  + str(d) + " " + MonthName(m).decode('utf8') + u"| ]]\n[[Категория:Викиновости:Новости по дням|"  + str(m).zfill(2) + "-" + str(d).zfill(2) + "]]</noinclude>"
		
		#print page_text
		page.put(page_text, comment = u'бот: автоматическое форматирование страницы для подстановки на заглавной')
		page.move(str(d) + u' ' + MonthName(m).decode('utf8'), reason=u'для лучшей индексации поисковиками', deleteAndMove=True, leaveRedirect=False)
		
#		print page_text
#		if not page.exists():
#			page.put(page_text.decode('utf8'), comment=u'Автоматическое создание страницы с новостями')
		
#		redir = wikipedia.Page(site, str(d) + u' ' + MonthName(m).decode('utf8'))
#		if not redir.exists():
#			redir.put(u"#перенаправление [[:" + page.title() + u"]]", comment=u'Автоматическое создание перенаправления')

wikipedia.stopme()
